@import "bootstrap";

html {
    position: relative;
    min-height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin-bottom: 465px;
    background-color: #ffffff;
}

@media(min-width:$screen-sm) {
    body {
        margin-bottom: 300px;
    }
}

.navbar-brand {
    @media(min-width:$screen-sm) {
        .fa {
            font-size: 1.33333333em;
            line-height: 0.75em;
            vertical-align: -15%;
        }

        &:hover {
            color: $navbar-inverse-link-hover-color !important;
        }
    }

    @media(max-width:$screen-xs-max) {
        font-size: 30px;
        padding-top: 25px;
        font-weight: 300;
    }
}

.navbar-nav {
    b {
        font-weight: 600;
    }
}

@media(max-width:$screen-xs-max) {
    .navbar-collapse {
        background-color: $brand-primary-accent;
        border: 0;
        @include box-shadow(inset 0 10px 10px -10px rgba(0,0,0,.35), inset 0 -10px 10px -10px rgba(0,0,0,.35));
    }
}

.btn-secondary {
    @include button-variant(#ffffff, $brand-secondary, $brand-secondary);
}

.btn-xl {
    @include button-size(20px, 25px, $font-size-large, $line-height-large, 5px);
}

header {
    padding: 10px 0 40px;
    color: #fff;
    position: relative;
    text-align: center;
    background: $brand-primary;
}

content {
    padding: 30px 0;
    display: block;
    font-size: 16px;
}

footer {
    background-color: $brand-dark-accent;
    height: 465px;
    margin: 0;
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;
    font-size: 16px;
    padding: 40px 0;

    a {
        color: #fff;

        &:hover {
            color: #fff;
        }
    }

    ul {
        li {
            padding-bottom: 10px;
        }
    }

    .social {
        i {
            font-size: 40px;
            margin-bottom: 10px;
        }
    }

    @media(min-width:$screen-md) {
        .social {
            margin-top: 40px;

            i {
                font-size: 55px;
            }
        }
    }

    @media(min-width:$screen-sm) {
        height: 300px;

        .social {
            margin-top: 0;
        }
    }
}

.panel-secondary {
    @include panel-variant($brand-secondary, #ffffff, $brand-secondary, $brand-secondary);
}

.panel-primary-accent {
    @include panel-variant($brand-primary-accent, #ffffff, $brand-primary-accent, $brand-primary-accent);
}

.page-header {
    margin-top: 0;
    padding-left: 35px;

    i {
        float: left;
        margin-left: -35px;
    }

    @media(min-width:$screen-sm) {
        padding-left: 38px;

        i {
            margin-left: -38px;
        }
    }

    @media(min-width:$screen-md) {
        padding-left: 52px;

        i {
            margin-left: -52px;
        }
    }
}

@media(max-width:$screen-sm-max) {
    h1 {
        font-size: 30px;
    }
}

@media(max-width:$screen-xs-max) {
    h1 {
        font-size: 25px;
    }
}

.article-blocks {
    .panel-contact {
        margin-bottom: 0;
    }

    @media(min-width:$screen-sm) {
        .panel-body {
            min-height: 95px;
        }

        .panel {
            margin-bottom: 0;
        }
    }
}

@media(min-width:$screen-md) {
    .main {
        .articles:last-child {
            margin-bottom: 0;
        }
    }
}

.articles {
    margin-bottom: 25px;

    ul, ol {
        margin-left: 0;
        padding-left: 20px;

        li + li {
            margin-top: 0.25em;
        }
    }

    &.panel {
        ul, ol {
            margin-bottom: 0;
        }
    }

    .fa-ul {
        padding-left: 30px;

        .fa {
            color: $text-muted;
        }
    }
}

.article {
    .panel-body > *:first-child {
        margin-top: 0;
    }

    .panel-body > *:last-child {
        margin-bottom: 0;
    }

    ul, ol {
        li + li,
        ul li:first-child,
        ol li:first-child {
            margin-top: 0.40em;
        }
    }

    @media(max-width:$screen-xs-max) {
        &.panel {
            border: 0;
            @include box-shadow(none);

            .panel-body {
                padding: 0;
            }

            .panel-footer {
                margin-top: 10px;
                border: 1px solid $panel-default-border;
                border-radius: $panel-border-radius;
            }
        }
    }

    h2, h3 {
        text-transform: uppercase;
        font-weight: bold;
    }

    h2 {
        font-size: 22px;
        margin-top: 50px;
        margin-bottom: 20px;
    }

    h3 {
        font-size: 17px;
    }

    h4 {
        font-size: 16px;
        font-weight: bold;
    }

    h5 {
        font-size: 16px;
    }

    @media (min-width: $screen-sm-min) {
        .img-tag {
            max-width: 600px;
            max-height: 600px;
        }
    }

    figure {
        display: block;
        margin: 0 auto 35px;
        
        figcaption {
            font-size: 14px;
            color: $text-muted;
        }
    }

    .panel-body > ol {
        counter-reset: li;
        list-style: none;
        position: relative;
        margin-left: 0;
        padding-left: 0;

        > li {
            padding: 5px 0 5px 50px;
            position: relative;
            margin-bottom: 5px;

            &:before {
                content: counter(li);
                counter-increment: li;
                position: absolute;
                top: 0;
                left: 0;
                height: 100%;
                width: 30px;
                padding: 0 10px 0 0;
                color: $text-muted;
                font-size: 22px;
                font-weight: bold;
                line-height: 35px;
                text-align: right;
                border-right: 1px solid $table-border-color;
            }

            & + li {
                margin-top: 0;
            }
        }

        ol, ul {
            margin-bottom: 12.5px;

            ol, ul {
                margin-bottom: 0;
            }
        }
    }

    table {
        @extend .table;
        @extend .table-bordered;
        @extend .table-striped;
    }

    .header-link {
        color: $text-muted;
        text-decoration: none !important;
        opacity: 0;
        margin-left: 5px;

        @media (max-width: $screen-sm-max) {
            display: none !important;
        }
    }

    h2:hover > .header-link,
    h3:hover > .header-link {
        opacity: .5;
        -webkit-transition: color .16s linear;
        transition: color .16s linear;
    }

    h2:hover > .header-link:hover,
    h3:hover > .header-link:hover,
    h2:hover > .header-link:focus,
    h3:hover > .header-link:focus {
        opacity: 1;
    }

    pre code {
        white-space: pre;
        word-break: initial;
        word-wrap: initial;
        display: block;
    }

    li img, li pre {
        margin-top: 12.5px;
    }

    li > *:last-child {
        margin-bottom: 0;
    }
}

a[rel='lightbox'] {
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in;
}

.alert, .callout {
    p, ul, ol {
        margin-bottom: 12.5px;
    }

    p:last-child, ul:last-child, ol:last-child {
        margin-bottom: 0;
    }
}

.callout {
    padding: 20px;
    margin: 20px 0;
    border: 1px solid $panel-default-border;
    border-left-width: 5px;
    border-radius: $panel-border-radius;
    background-color: #fafafa;

    h3 {
        margin-top: 0;
    }

    &.callout-primary, &.callout-info {
        border-left-color: $brand-primary;

        h3 {
            color: $brand-primary;
        }
    }

    &.callout-default {
        border-left-color: $gray;

        h3 {
            color: $gray;
        }
    }

    &.callout-danger {
        border-left-color: $brand-danger;

        h3 {
            color: $brand-danger;
        }
    }

    &.callout-success {
        border-left-color: $brand-success;

        h3 {
            color: $brand-success;
        }
    }

    &.callout-warning {
        border-left-color: $brand-warning;

        h3 {
            color: $brand-warning;
        }
    }
}

code {
    border-radius: 2px;
}

blockquote {
    padding-left: 15px;
    padding-right: 15px;
}
